package com.ray.depot.service;

import com.ray.depot.table.dto.StockSerializeDto;
import com.ray.depot.table.entity.StockSerialize;
import com.zjhc.flyhong.common.function.operator.LoginUser;
import com.zjhc.flyhong.common.function.operator.PageDto;
import com.zjhc.flyhong.common.web.Result;

public interface StockSerializeService {

	/**
	 * 新增
	 * @param params
	 * @param user
	 * @return
	 */
	Result<Object> addStockSerialize(StockSerialize params, LoginUser user);
	
    /**
     * 查询
     * @param id
     * @param user
     * @return
     */
	StockSerialize queryStockSerialize(String id, LoginUser user);
	
    /**
     * 修改
     * @param params
     * @param user
     * @return
     */
	Result<Object> updateStockSerialize(StockSerialize params, LoginUser user);
	
    /**
     * 删除
     * @param id
     * @param user
     * @return
     */
	Result<Object> deleteStockSerialize(String id, LoginUser user);
	
   /**
    * 查询
    * @param params
    * @param page
    * @param user
    * @return
    */
	PageDto<StockSerialize> queryStockSerialize(StockSerialize params, PageDto<StockSerialize> page, LoginUser user);
     /**
      * 查询
      * @param params
      * @param page
      * @param user
      * @return
      */
	PageDto<StockSerializeDto> querySelectStockSerialize(StockSerializeDto params, PageDto<StockSerializeDto> page, LoginUser user);
    /**
     * 查询资产
     * @param materialId
     * @param serializaNo
     * @param warchouseId
     * @return
     */
	StockSerialize queryStockSerialize(String materialId, String serializaNo, String warchouseId);
    /**
     * 资产出库
     */
	void inOutSerializeOut(StockSerialize stockSerialize, LoginUser user);

}
